/*
 * XML Type:  VisualModel
 * Namespace: http:///org/isistan/flabot/edit/editormodel.ecore
 * Java type: org.isistan.flabot.edit.editormodelEcore.VisualModel
 *
 * Automatically generated - do not modify.
 */
package org.isistan.flabot.edit.editormodelEcore;


/**
 * An XML VisualModel(@http:///org/isistan/flabot/edit/editormodel.ecore).
 *
 * This is a complex type.
 */
public interface VisualModel extends org.isistan.flabot.edit.editormodelEcore.Adapter
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(VisualModel.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sFBDCFB7615E0FAB3CF0394CF3AD1FE99").resolveHandle("visualmodel5786type");
    
    /**
     * Gets array of all "children" elements
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel[] getChildrenArray();
    
    /**
     * Gets ith "children" element
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel getChildrenArray(int i);
    
    /**
     * Returns number of "children" element
     */
    int sizeOfChildrenArray();
    
    /**
     * Sets array of all "children" element
     */
    void setChildrenArray(org.isistan.flabot.edit.editormodelEcore.VisualModel[] childrenArray);
    
    /**
     * Sets ith "children" element
     */
    void setChildrenArray(int i, org.isistan.flabot.edit.editormodelEcore.VisualModel children);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "children" element
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel insertNewChildren(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "children" element
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel addNewChildren();
    
    /**
     * Removes the ith "children" element
     */
    void removeChildren(int i);
    
    /**
     * Gets array of all "parent" elements
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel[] getParentArray();
    
    /**
     * Gets ith "parent" element
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel getParentArray(int i);
    
    /**
     * Returns number of "parent" element
     */
    int sizeOfParentArray();
    
    /**
     * Sets array of all "parent" element
     */
    void setParentArray(org.isistan.flabot.edit.editormodelEcore.VisualModel[] parentArray);
    
    /**
     * Sets ith "parent" element
     */
    void setParentArray(int i, org.isistan.flabot.edit.editormodelEcore.VisualModel parent);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "parent" element
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel insertNewParent(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "parent" element
     */
    org.isistan.flabot.edit.editormodelEcore.VisualModel addNewParent();
    
    /**
     * Removes the ith "parent" element
     */
    void removeParent(int i);
    
    /**
     * Gets array of all "semanticModel" elements
     */
    org.eclipse.emf.x2002.ecore.EObject[] getSemanticModelArray();
    
    /**
     * Gets ith "semanticModel" element
     */
    org.eclipse.emf.x2002.ecore.EObject getSemanticModelArray(int i);
    
    /**
     * Returns number of "semanticModel" element
     */
    int sizeOfSemanticModelArray();
    
    /**
     * Sets array of all "semanticModel" element
     */
    void setSemanticModelArray(org.eclipse.emf.x2002.ecore.EObject[] semanticModelArray);
    
    /**
     * Sets ith "semanticModel" element
     */
    void setSemanticModelArray(int i, org.eclipse.emf.x2002.ecore.EObject semanticModel);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "semanticModel" element
     */
    org.eclipse.emf.x2002.ecore.EObject insertNewSemanticModel(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "semanticModel" element
     */
    org.eclipse.emf.x2002.ecore.EObject addNewSemanticModel();
    
    /**
     * Removes the ith "semanticModel" element
     */
    void removeSemanticModel(int i);
    
    /**
     * Gets array of all "location" elements
     */
    org.isistan.flabot.edit.editormodelEcore.Point[] getLocationArray();
    
    /**
     * Gets ith "location" element
     */
    org.isistan.flabot.edit.editormodelEcore.Point getLocationArray(int i);
    
    /**
     * Returns number of "location" element
     */
    int sizeOfLocationArray();
    
    /**
     * Sets array of all "location" element
     */
    void setLocationArray(org.isistan.flabot.edit.editormodelEcore.Point[] locationArray);
    
    /**
     * Sets ith "location" element
     */
    void setLocationArray(int i, org.isistan.flabot.edit.editormodelEcore.Point location);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "location" element
     */
    org.isistan.flabot.edit.editormodelEcore.Point insertNewLocation(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "location" element
     */
    org.isistan.flabot.edit.editormodelEcore.Point addNewLocation();
    
    /**
     * Removes the ith "location" element
     */
    void removeLocation(int i);
    
    /**
     * Gets array of all "size" elements
     */
    org.isistan.flabot.edit.editormodelEcore.Dimension[] getSizeArray();
    
    /**
     * Gets ith "size" element
     */
    org.isistan.flabot.edit.editormodelEcore.Dimension getSizeArray(int i);
    
    /**
     * Returns number of "size" element
     */
    int sizeOfSizeArray();
    
    /**
     * Sets array of all "size" element
     */
    void setSizeArray(org.isistan.flabot.edit.editormodelEcore.Dimension[] sizeArray);
    
    /**
     * Sets ith "size" element
     */
    void setSizeArray(int i, org.isistan.flabot.edit.editormodelEcore.Dimension size);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "size" element
     */
    org.isistan.flabot.edit.editormodelEcore.Dimension insertNewSize(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "size" element
     */
    org.isistan.flabot.edit.editormodelEcore.Dimension addNewSize();
    
    /**
     * Removes the ith "size" element
     */
    void removeSize(int i);
    
    /**
     * Gets array of all "backgroundColor" elements
     */
    org.isistan.flabot.edit.editormodelEcore.Color[] getBackgroundColorArray();
    
    /**
     * Gets ith "backgroundColor" element
     */
    org.isistan.flabot.edit.editormodelEcore.Color getBackgroundColorArray(int i);
    
    /**
     * Returns number of "backgroundColor" element
     */
    int sizeOfBackgroundColorArray();
    
    /**
     * Sets array of all "backgroundColor" element
     */
    void setBackgroundColorArray(org.isistan.flabot.edit.editormodelEcore.Color[] backgroundColorArray);
    
    /**
     * Sets ith "backgroundColor" element
     */
    void setBackgroundColorArray(int i, org.isistan.flabot.edit.editormodelEcore.Color backgroundColor);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "backgroundColor" element
     */
    org.isistan.flabot.edit.editormodelEcore.Color insertNewBackgroundColor(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "backgroundColor" element
     */
    org.isistan.flabot.edit.editormodelEcore.Color addNewBackgroundColor();
    
    /**
     * Removes the ith "backgroundColor" element
     */
    void removeBackgroundColor(int i);
    
    /**
     * Gets array of all "foregroundColor" elements
     */
    org.isistan.flabot.edit.editormodelEcore.Color[] getForegroundColorArray();
    
    /**
     * Gets ith "foregroundColor" element
     */
    org.isistan.flabot.edit.editormodelEcore.Color getForegroundColorArray(int i);
    
    /**
     * Returns number of "foregroundColor" element
     */
    int sizeOfForegroundColorArray();
    
    /**
     * Sets array of all "foregroundColor" element
     */
    void setForegroundColorArray(org.isistan.flabot.edit.editormodelEcore.Color[] foregroundColorArray);
    
    /**
     * Sets ith "foregroundColor" element
     */
    void setForegroundColorArray(int i, org.isistan.flabot.edit.editormodelEcore.Color foregroundColor);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "foregroundColor" element
     */
    org.isistan.flabot.edit.editormodelEcore.Color insertNewForegroundColor(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "foregroundColor" element
     */
    org.isistan.flabot.edit.editormodelEcore.Color addNewForegroundColor();
    
    /**
     * Removes the ith "foregroundColor" element
     */
    void removeForegroundColor(int i);
    
    /**
     * Gets the "parent" attribute
     */
    java.lang.String getParent2();
    
    /**
     * Gets (as xml) the "parent" attribute
     */
    org.apache.xmlbeans.XmlString xgetParent2();
    
    /**
     * True if has "parent" attribute
     */
    boolean isSetParent2();
    
    /**
     * Sets the "parent" attribute
     */
    void setParent2(java.lang.String parent2);
    
    /**
     * Sets (as xml) the "parent" attribute
     */
    void xsetParent2(org.apache.xmlbeans.XmlString parent2);
    
    /**
     * Unsets the "parent" attribute
     */
    void unsetParent2();
    
    /**
     * Gets the "location" attribute
     */
    java.lang.String getLocation2();
    
    /**
     * Gets (as xml) the "location" attribute
     */
    org.apache.xmlbeans.XmlString xgetLocation2();
    
    /**
     * True if has "location" attribute
     */
    boolean isSetLocation2();
    
    /**
     * Sets the "location" attribute
     */
    void setLocation2(java.lang.String location2);
    
    /**
     * Sets (as xml) the "location" attribute
     */
    void xsetLocation2(org.apache.xmlbeans.XmlString location2);
    
    /**
     * Unsets the "location" attribute
     */
    void unsetLocation2();
    
    /**
     * Gets the "size" attribute
     */
    java.lang.String getSize2();
    
    /**
     * Gets (as xml) the "size" attribute
     */
    org.apache.xmlbeans.XmlString xgetSize2();
    
    /**
     * True if has "size" attribute
     */
    boolean isSetSize2();
    
    /**
     * Sets the "size" attribute
     */
    void setSize2(java.lang.String size2);
    
    /**
     * Sets (as xml) the "size" attribute
     */
    void xsetSize2(org.apache.xmlbeans.XmlString size2);
    
    /**
     * Unsets the "size" attribute
     */
    void unsetSize2();
    
    /**
     * Gets the "diagram" attribute
     */
    java.lang.String getDiagram();
    
    /**
     * Gets (as xml) the "diagram" attribute
     */
    org.apache.xmlbeans.XmlString xgetDiagram();
    
    /**
     * True if has "diagram" attribute
     */
    boolean isSetDiagram();
    
    /**
     * Sets the "diagram" attribute
     */
    void setDiagram(java.lang.String diagram);
    
    /**
     * Sets (as xml) the "diagram" attribute
     */
    void xsetDiagram(org.apache.xmlbeans.XmlString diagram);
    
    /**
     * Unsets the "diagram" attribute
     */
    void unsetDiagram();
    
    /**
     * Gets the "backgroundColor" attribute
     */
    java.lang.String getBackgroundColor2();
    
    /**
     * Gets (as xml) the "backgroundColor" attribute
     */
    org.apache.xmlbeans.XmlString xgetBackgroundColor2();
    
    /**
     * True if has "backgroundColor" attribute
     */
    boolean isSetBackgroundColor2();
    
    /**
     * Sets the "backgroundColor" attribute
     */
    void setBackgroundColor2(java.lang.String backgroundColor2);
    
    /**
     * Sets (as xml) the "backgroundColor" attribute
     */
    void xsetBackgroundColor2(org.apache.xmlbeans.XmlString backgroundColor2);
    
    /**
     * Unsets the "backgroundColor" attribute
     */
    void unsetBackgroundColor2();
    
    /**
     * Gets the "foregroundColor" attribute
     */
    java.lang.String getForegroundColor2();
    
    /**
     * Gets (as xml) the "foregroundColor" attribute
     */
    org.apache.xmlbeans.XmlString xgetForegroundColor2();
    
    /**
     * True if has "foregroundColor" attribute
     */
    boolean isSetForegroundColor2();
    
    /**
     * Sets the "foregroundColor" attribute
     */
    void setForegroundColor2(java.lang.String foregroundColor2);
    
    /**
     * Sets (as xml) the "foregroundColor" attribute
     */
    void xsetForegroundColor2(org.apache.xmlbeans.XmlString foregroundColor2);
    
    /**
     * Unsets the "foregroundColor" attribute
     */
    void unsetForegroundColor2();
    
    /**
     * Gets the "lineStyle" attribute
     */
    int getLineStyle();
    
    /**
     * Gets (as xml) the "lineStyle" attribute
     */
    org.apache.xmlbeans.XmlInt xgetLineStyle();
    
    /**
     * True if has "lineStyle" attribute
     */
    boolean isSetLineStyle();
    
    /**
     * Sets the "lineStyle" attribute
     */
    void setLineStyle(int lineStyle);
    
    /**
     * Sets (as xml) the "lineStyle" attribute
     */
    void xsetLineStyle(org.apache.xmlbeans.XmlInt lineStyle);
    
    /**
     * Unsets the "lineStyle" attribute
     */
    void unsetLineStyle();
    
    /**
     * Gets the "lineWidth" attribute
     */
    int getLineWidth();
    
    /**
     * Gets (as xml) the "lineWidth" attribute
     */
    org.apache.xmlbeans.XmlInt xgetLineWidth();
    
    /**
     * True if has "lineWidth" attribute
     */
    boolean isSetLineWidth();
    
    /**
     * Sets the "lineWidth" attribute
     */
    void setLineWidth(int lineWidth);
    
    /**
     * Sets (as xml) the "lineWidth" attribute
     */
    void xsetLineWidth(org.apache.xmlbeans.XmlInt lineWidth);
    
    /**
     * Unsets the "lineWidth" attribute
     */
    void unsetLineWidth();
    
    /**
     * Gets the "detailLevel" attribute
     */
    int getDetailLevel();
    
    /**
     * Gets (as xml) the "detailLevel" attribute
     */
    org.apache.xmlbeans.XmlInt xgetDetailLevel();
    
    /**
     * True if has "detailLevel" attribute
     */
    boolean isSetDetailLevel();
    
    /**
     * Sets the "detailLevel" attribute
     */
    void setDetailLevel(int detailLevel);
    
    /**
     * Sets (as xml) the "detailLevel" attribute
     */
    void xsetDetailLevel(org.apache.xmlbeans.XmlInt detailLevel);
    
    /**
     * Unsets the "detailLevel" attribute
     */
    void unsetDetailLevel();
    
    /**
     * Gets the "semanticModel" attribute
     */
    java.lang.String getSemanticModel2();
    
    /**
     * Gets (as xml) the "semanticModel" attribute
     */
    org.apache.xmlbeans.XmlString xgetSemanticModel2();
    
    /**
     * True if has "semanticModel" attribute
     */
    boolean isSetSemanticModel2();
    
    /**
     * Sets the "semanticModel" attribute
     */
    void setSemanticModel2(java.lang.String semanticModel2);
    
    /**
     * Sets (as xml) the "semanticModel" attribute
     */
    void xsetSemanticModel2(org.apache.xmlbeans.XmlString semanticModel2);
    
    /**
     * Unsets the "semanticModel" attribute
     */
    void unsetSemanticModel2();
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel newInstance() {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        /** @param xmlAsString the string value to parse */
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
        
        /** @param file the file from which to load an xml document */
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.isistan.flabot.edit.editormodelEcore.VisualModel parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (org.isistan.flabot.edit.editormodelEcore.VisualModel) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
